﻿#include "hzpch.h"
#include "OpenGLRendererAPI.h"
#include <glad/glad.h>
#include "Renderer/VertexArray.h"

namespace Hazel
{

    void OpenGLRendererAPI::Init()
    {
        glEnable(GL_BLEND);
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    }

    void OpenGLRendererAPI::SetClearColor(const glm::vec4 &color)
    {
        glClearColor(color.r, color.g, color.b, color.a);
    }

    void OpenGLRendererAPI::Clear()
    {
        glClear(GL_COLOR_BUFFER_BIT);
    }

    void OpenGLRendererAPI::DrawIndexed(const Ref<VertexArray> &vertexArray)
    {
        vertexArray->Bind(); // 现在可以调用 Bind()
        glDrawElements(
            GL_TRIANGLES,
            vertexArray->GetIndexBuffer()->GetCount(), // 现在可以调用 GetIndexBuffer()
            GL_UNSIGNED_INT,
            nullptr);
    }

}